package com.yanqu.road.entity.marriage;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.utils.property.Property;

import java.math.BigInteger;
import java.util.Objects;

public class MarriageRecord extends DataObject {

    private long userId;

    private String userNickName;

    private String childUid;

    private int childTalent;

    private int childSex;

    private int childOccupation;

    private String childName;

    private int childHeadIcon;

    private long childAdultTime;

    private long publishTime;

    private long appointUserId;

    private Property reward;

    private long marriageTime;

    private int childOccupationId;

    private BigInteger childEarnSpeed = BigInteger.ZERO;

    private long partnerUserId;     //亲家用户编号

    private String partnerNickName = "";

    private String partnerChildUid = "";

    private int partnerChildTalent;

    private int partnerChildSex;

    private int partnerChildOccupation;

    private String partnerChildName = "";

    private int partnerChildHeadIcon;

    private Property partnerReward = new Property();

    private int partnerChildOccupationId;

    private BigInteger partnerChildEarnSpeed = BigInteger.ZERO;

    private BigInteger totalChildEarnSpeed = BigInteger.ZERO;

    private int motherId;

    private int partnerMotherId;

    private boolean isTwins;

    private boolean isPartnerTwins;
    private long serverId;
    private long partnerServerId;

    private boolean canHoneyMoon = false;

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public String getUserNickName() {
        return userNickName;
    }

    public void setUserNickName(String userNickName) {
        if(!Objects.equals(this.userNickName, userNickName)) {
            this.userNickName = userNickName;
            setUpdateOption();
        }
    }

    public String getChildUid() {
        return childUid;
    }

    public void setChildUid(String childUid) {
        if(!Objects.equals(this.childUid, childUid)) {
            this.childUid = childUid;
            setUpdateOption();
        }
    }

    public int getChildTalent() {
        return childTalent;
    }

    public void setChildTalent(int childTalent) {
        if(this.childTalent != childTalent) {
            this.childTalent = childTalent;
            setUpdateOption();
        }
    }

    public int getChildOccupation() {
        return childOccupation;
    }

    public void setChildOccupation(int childOccupation) {
        if(this.childOccupation != childOccupation) {
            this.childOccupation = childOccupation;
            setUpdateOption();
        }
    }

    public String getChildName() {
        return childName;
    }

    public void setChildName(String childName) {
        if(!Objects.equals(this.childName, childName)) {
            this.childName = childName;
            setUpdateOption();
        }
    }

    public int getChildSex() {
        return childSex;
    }

    public void setChildSex(int childSex) {
        if(this.childSex != childSex) {
            this.childSex = childSex;
            setUpdateOption();
        }
    }

    public int getChildHeadIcon() {
        return childHeadIcon;
    }

    public void setChildHeadIcon(int childHeadIcon) {
        if(this.childHeadIcon != childHeadIcon) {
            this.childHeadIcon = childHeadIcon;
            setUpdateOption();
        }
    }

    public long getChildAdultTime() {
        return childAdultTime;
    }

    public void setChildAdultTime(long childAdultTime) {
        this.childAdultTime = childAdultTime;
    }

    public long getPublishTime() {
        return publishTime;
    }

    public void setPublishTime(long publishTime) {
        if (this.publishTime != publishTime) {
            this.publishTime = publishTime;
            setUpdateOption();
        }
    }

    public long getAppointUserId() {
        return appointUserId;
    }

    public void setAppointUserId(long appointUserId) {
        if (this.appointUserId != appointUserId) {
            this.appointUserId = appointUserId;
            setUpdateOption();
        }
    }

    public Property getReward() {
        return reward;
    }

    public void setReward(Property reward) {
        this.reward = reward;
        setUpdateOption();
    }

    public long getMarriageTime() {
        return marriageTime;
    }

    public void setMarriageTime(long marriageTime) {
        if(this.marriageTime != marriageTime) {
            this.marriageTime = marriageTime;
            setUpdateOption();
        }
    }

    public int getChildOccupationId() {
        return childOccupationId;
    }

    public void setChildOccupationId(int childOccupationId) {
        if(this.childOccupationId != childOccupationId) {
            this.childOccupationId = childOccupationId;
            setUpdateOption();
        }
    }

    public BigInteger getChildEarnSpeed() {
        return childEarnSpeed;
    }

    public void setChildEarnSpeed(BigInteger childEarnSpeed) {
        if(!Objects.equals(this.childEarnSpeed, childEarnSpeed)) {
            this.childEarnSpeed = childEarnSpeed;
            setUpdateOption();
        }
    }

    public long getPartnerUserId() {
        return partnerUserId;
    }

    public void setPartnerUserId(long partnerUserId) {
        if(this.partnerUserId != partnerUserId) {
            this.partnerUserId = partnerUserId;
            setUpdateOption();
        }
    }

    public String getPartnerNickName() {
        return partnerNickName;
    }

    public void setPartnerNickName(String partnerNickName) {
        if(!Objects.equals(this.partnerNickName, partnerNickName)) {
            this.partnerNickName = partnerNickName;
            setUpdateOption();
        }
    }

    public String getPartnerChildUid() {
        return partnerChildUid;
    }

    public void setPartnerChildUid(String partnerChildUid) {
        if(!Objects.equals(this.partnerChildUid, partnerChildUid)) {
            this.partnerChildUid = partnerChildUid;
            setUpdateOption();
        }
    }

    public int getPartnerChildTalent() {
        return partnerChildTalent;
    }

    public void setPartnerChildTalent(int partnerChildTalent) {
        if(this.partnerChildTalent != partnerChildTalent) {
            this.partnerChildTalent = partnerChildTalent;
            setUpdateOption();
        }
    }

    public int getPartnerChildOccupation() {
        return partnerChildOccupation;
    }

    public void setPartnerChildOccupation(int partnerChildOccupation) {
        if(this.partnerChildOccupation != partnerChildOccupation) {
            this.partnerChildOccupation = partnerChildOccupation;
            setUpdateOption();
        }
    }

    public String getPartnerChildName() {
        return partnerChildName;
    }

    public void setPartnerChildName(String partnerChildName) {
        if(!Objects.equals(this.partnerChildName, partnerChildName)) {
            this.partnerChildName = partnerChildName;
            setUpdateOption();
        }
    }

    public int getPartnerChildSex() {
        return partnerChildSex;
    }

    public void setPartnerChildSex(int partnerChildSex) {
        if(this.partnerChildSex != partnerChildSex) {
            this.partnerChildSex = partnerChildSex;
            setUpdateOption();
        }
    }

    public int getPartnerChildHeadIcon() {
        return partnerChildHeadIcon;
    }

    public void setPartnerChildHeadIcon(int partnerChildHeadIcon) {
        if(this.partnerChildHeadIcon != partnerChildHeadIcon) {
            this.partnerChildHeadIcon = partnerChildHeadIcon;
            setUpdateOption();
        }
    }

    public Property getPartnerReward() {
        return partnerReward;
    }

    public void setPartnerReward(Property partnerReward) {
        this.partnerReward = partnerReward;
        setUpdateOption();
    }

    public int getPartnerChildOccupationId() {
        return partnerChildOccupationId;
    }

    public void setPartnerChildOccupationId(int partnerChildOccupationId) {
        if(this.partnerChildOccupationId != partnerChildOccupationId) {
            this.partnerChildOccupationId = partnerChildOccupationId;
            setUpdateOption();
        }
    }

    public BigInteger getPartnerChildEarnSpeed() {
        return partnerChildEarnSpeed;
    }

    public void setPartnerChildEarnSpeed(BigInteger partnerChildEarnSpeed) {
        if(!Objects.equals(this.partnerChildEarnSpeed, partnerChildEarnSpeed)) {
            this.partnerChildEarnSpeed = partnerChildEarnSpeed;
            setUpdateOption();
        }
    }

    public BigInteger getTotalChildEarnSpeed() {
        return totalChildEarnSpeed;
    }

    public void setTotalChildEarnSpeed(BigInteger totalChildEarnSpeed) {
        if(!Objects.equals(this.totalChildEarnSpeed, totalChildEarnSpeed)) {
            this.totalChildEarnSpeed = totalChildEarnSpeed;
            setUpdateOption();
        }
    }


    public int getMotherId() {
        return motherId;
    }

    public void setMotherId(int motherId) {
        if(this.motherId != motherId) {
            this.motherId = motherId;
            setUpdateOption();
        }
    }

    public int getPartnerMotherId() {
        return partnerMotherId;
    }

    public void setPartnerMotherId(int partnerMotherId) {
        if(this.partnerMotherId != partnerMotherId) {
            this.partnerMotherId = partnerMotherId;
            setUpdateOption();
        }
    }

    public boolean isTwins() {
        return isTwins;
    }

    public void setTwins(boolean twins) {
        if(twins != this.isTwins){
            isTwins = twins;
            setUpdateOption();
        }
    }

    public boolean isPartnerTwins() {
        return isPartnerTwins;
    }

    public void setPartnerTwins(boolean partnerTwins) {
        if(partnerTwins != this.isPartnerTwins){
            isPartnerTwins = partnerTwins;
            setUpdateOption();
        }
    }

    public long getServerId() {
        return serverId;
    }

    public void setServerId(long serverId) {
        if(this.serverId != serverId) {
            this.serverId = serverId;
            setUpdateOption();
        }
    }

    public long getPartnerServerId() {
        return partnerServerId;
    }

    public void setPartnerServerId(long partnerServerId) {
        if(this.partnerServerId != partnerServerId) {
            this.partnerServerId = partnerServerId;
            setUpdateOption();
        }
    }


    public boolean isCanHoneyMoon() {
        return canHoneyMoon;
    }

    public void setCanHoneyMoon(boolean canHoneyMoon) {
        if (!Objects.equals(this.canHoneyMoon, canHoneyMoon)) {
            this.canHoneyMoon = canHoneyMoon;
            setUpdateOption();
        }
    }
}
